package com.atguigu.ssyx.cart.service;

import com.atguigu.ssyx.model.order.CartInfo;

import java.util.List;

/**
 * @描述:购物车接口
 * @作者:胡树苑
 * @时间:2025/9/22 13:47
 */
public interface CartInfoService {
    //添加商品到购物车
    void addToCart(Long userId, Long skuId, Integer skuNum);
    //根据skuid删除购物车
    void deleteCart(Long skuId, Long userId);
    //清空购物车
    void deleteAllCart(Long userId);
    //批量删除购物车 多个skuid
    void batchDeleteCart(List<Long> skuIdList, Long userId);
    //查询购物车列表
    List<CartInfo> getCartList(Long userId);
    //根据skuid选中
    void checkCart(Long userId, Integer isChecked, Long skuId);
    //全选
    void checkAllCart(Long userId, Integer isChecked);
    //批量选中
    void batchCheckCart(List<Long> skuIdList, Long userId, Integer isChecked);
    //获取当前用户选中的购物项
    List<CartInfo> getCartCheckedList(Long userId);
    //根据用户id去删除选中的购物车记录
    void deleteCartChecked(Long userId);
}
